package com.example.wechat.login.service;

import com.example.wechat.login.dto.speech.SpeechRecognitionRequest;
import com.example.wechat.login.dto.speech.SpeechRecognitionResponse;
import com.example.wechat.login.dto.speech.SpeechTaskRequest;
import com.example.wechat.login.dto.speech.SpeechTaskResponse;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;

/**
 * 语音服务接口
 */
public interface SpeechService {

    /**
     * 一句话语音识别
     * 用于识别60秒以内的短音频
     *
     * @param request 语音识别请求
     * @return 语音识别响应
     */
    SpeechRecognitionResponse recognizeSpeech(SpeechRecognitionRequest request) throws TencentCloudSDKException;

    /**
     * 创建语音识别任务
     * 用于识别较长的音频文件
     *
     * @param request 语音任务请求
     * @return 语音任务响应
     */
    SpeechTaskResponse createSpeechTask(SpeechTaskRequest request);

    /**
     * 查询语音识别任务状态
     *
     * @param taskId 任务ID
     * @return 语音任务响应
     */
    SpeechTaskResponse querySpeechTask(String taskId);
}
